Apparatus, system, and method for adaptive beamforming in wireless networks

ABSTRACT

A system comprising a plurality of nodes communicatively coupled to one another via at least one wireless link and a controller communicatively coupled to at least one of the nodes, wherein the controller (1) coordinates at least one scan that measures interference introduced into the wireless link, (2) identifies, based at least in part on the scan, one or more characteristics of the wireless link, (3) determines, based at least in part on the characteristics of the wireless link, that the node is eligible for a tapered codebook that, when implemented, modifies at least one feature of an antenna array that supports the wireless link in connection with the node, and then (4) directs the node to implement the tapered codebook. Various other apparatuses, systems, and methods are also disclosed.

INCORPORATION BY REFERENCE AND CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.17/242,334 filed 28 Apr. 2021, the disclosure of which is incorporatedin its entirety by this reference. This application also incorporates byreference U.S. application Ser. No. 16/877,857 filed 19 May 2020 in itsentirety as well as U.S. application Ser. No. 16/877,877 filed 19 May2020 in its entirety.

BRIEF DESCRIPTION OF DRAWINGS AND APPENDIX

The accompanying Drawings illustrate a number of exemplary embodimentsand are parts of the specification. Together with the followingdescription, the Drawings demonstrate and explain various principles ofthe instant disclosure.

FIG. 1 is a block diagram of an exemplary system for adaptivebeamforming in a wireless network according to one or more embodimentsof this disclosure.

FIG. 2 is a block diagram of an exemplary controller and an exemplarynode that facilitate adaptive beamforming in a wireless networkaccording to one or more embodiments of this disclosure.

FIG. 3 is a block diagram of an exemplary system for adaptivebeamforming in a wireless network according to one or more embodimentsof this disclosure.

FIG. 4 is a block diagram of an exemplary system for adaptivebeamforming in a wireless network according to one or more embodimentsof this disclosure.

FIG. 5 is a block diagram of an exemplary system for adaptivebeamforming in a wireless network according to one or more embodimentsof this disclosure.

FIG. 6 is a block diagram of an exemplary system for adaptivebeamforming in a wireless network according to one or more embodimentsof this disclosure.

FIG. 7 is a block diagram of an exemplary antenna array according to oneor more embodiments of this disclosure.

FIG. 8 is an illustration of an exemplary graph showing sidelobepredictions according to one or more embodiments of this disclosure.

FIG. 9 is an illustration of an exemplary graph showing sidelobepredictions according to one or more embodiments of this disclosure.

FIG. 10 is an illustration of exemplary graph showing sidelobepredictions according to one or more embodiments of this disclosure.

FIG. 11 is a flowchart of an exemplary method for adaptive beamformingin wireless networks.

While the exemplary embodiments described herein are susceptible tovarious modifications and alternative forms, specific embodiments havebeen shown by way of example in the drawings and will be described indetail herein. However, the exemplary embodiments described herein arenot intended to be limited to the particular forms disclosed. Rather,the instant disclosure covers all modifications, combinations,equivalents, and alternatives falling within this disclosure.

DETAILED DESCRIPTION

The present disclosure is generally directed to adaptive beamforming inwireless networks. As will be explained in greater detail below, theseapparatuses, systems, and methods may provide numerous features andbenefits.

In some examples, wireless mesh networks may include and/or representvarious nodes capable of communicating with one another via wirelesslinks. In these examples, the nodes may be located proximate to oneanother, or at least within a certain range of one another, to supportconnections and/or communication via such wireless links. Unfortunately,some of these wireless links within the wireless mesh network may sufferfrom interference introduced by other wireless links within the wirelessmesh network. Such interference may degrade, impair, and/or obstruct theperformance of individual wireless links and/or the wireless meshnetwork as a whole.

To mitigate the effect of such interference on the wireless links, thewireless mesh network may implement certain beamforming techniques inantenna arrays on those nodes. For example, a controller may directnodes within the wireless mesh network to implement an innovativeantenna grouping scheme that beamforms the corresponding antenna arrayssuch that their sidelobes are suppressed by approximately 17 decibels.In this example, the sidelobe suppression of approximately 17 decibelsmay serve to mitigate and/or decrease the amount of interferenceintroduced by the nodes' antenna arrays. Unfortunately, this antennagrouping scheme may invoke a tradeoff in which the mainlobe of eachantenna array loses approximately 1 decibel of signal power—for a totalloss of 2 decibels per wireless link.

Accordingly, this antenna grouping scheme may mitigate and/or decreasethe amount of interference introduced within the wireless mesh network,thus improving its performance, if the wireless links are able tosustain the 2-decibel signal loss. However, if the wireless links arenot able to sustain such a 2-decibel signal loss (due, e.g., to thedistance between the corresponding nodes and/or weather conditions),this antenna grouping scheme may potentially cause more harm than goodto the wireless mesh network. Therefore, to achieve optimal performance,the wireless mesh network may need to implement the antenna groupingscheme only when certain conditions exist and/or are satisfied. Theinstant disclosure, therefore, identifies and addresses a need foradditional apparatuses, systems, and methods for adaptive beamforming inwireless networks.

As will be described in greater detail below, a controller for awireless mesh network may coordinate, initiate, and/or perform a scanthat measures interference introduced into wireless links thatcommunicatively couple nodes within the wireless mesh network to oneanother. In some examples, the controller may identify certaincharacteristics of the wireless links based at least in part on thescan. The controller may then determine whether certain nodes within thewireless mesh network are eligible for a tapered codebook (meaning,e.g., that the tapered codebook is likely to improve—as opposed toimpair—performance within the wireless mesh network). In one example,when implemented, the tapered codebook may effectively modify one ormore features of the corresponding antenna arrays on those nodes.Examples of such features include, without limitation, angulardirections of antenna tiles included in antenna arrays of nodes,beamformers associated with antenna arrays of nodes, phase shiftersassociated with antenna arrays of nodes, gain controllers associatedwith antenna arrays of nodes, combinations or variations of one or moreof the same, and/or any other suitable features of antenna arrays.

In one example, if the nodes are eligible for the tapered codebook, thecontroller may direct the nodes to implement and/or apply the taperedcodebook. As a result of implementing and/or applying the taperedcodebook on the nodes, the corresponding antenna arrays may beamform insuch a way that (1) suppresses the sidelobes by approximately 17decibels, thereby mitigating and/or decreasing the amount ofinterference introduced by the antenna arrays, and (2) losesapproximately 2 decibels of signal power per wireless link. However, ifthe nodes are not eligible for the tapered codebook, the controller maydirect the nodes to implement and/or apply a traditional non-taperedcodebook so as to avoid losing communication via any wireless linksinvolving mainlobes that are unable to sustain a 2-decibel signal loss.Accordingly, the controller may direct the nodes to implement the bestcodebook for the situation in an effort to optimize the wireless meshnetwork's performance.

Thus, the various apparatuses, systems, and methods disclosed herein mayachieve and/or strike the optimal balance between sidelobe suppressionand mainlobe gain maximization. In one example, these apparatuses,systems, and methods may be able to predict and/or estimate the angularlocation of the high-level sidelobes via an offline prediction algorithm(e.g., a Monte Carlo algorithm). In this example, these apparatuses,systems, and methods may make codebook-switching decisions based on thepredicted and/or estimated locations of the high-level sidelobes and thebudget of the corresponding wireless link(s).

The following will provide, with reference to FIGS. 1-7 , detaileddescriptions of exemplary devices, systems, components, andcorresponding implementations for adaptive beamforming in wirelessnetworks. Detailed descriptions of exemplary graphs showing predictedsidelobe angles and/or locations based on an offline predictionalgorithm (e.g., a Monte Carlo algorithm) will be provided in connectionwith FIGS. 8-10 . In addition, detailed descriptions of exemplarymethods for adaptive beamforming in wireless networks will be providedin connection with FIG. 11 .

FIG. 1 illustrates an exemplary system 100 capable of facilitatingadaptive beamforming in a wireless network. In some examples, system 100may itself constitute, represent, and/or form the wireless network. Asillustrated in FIG. 1 , exemplary system 100 may include and/orrepresent a controller 102 and nodes 104(1)-(4). In some examples, nodes104(1) and 104(2) may be communicatively coupled to one another via awireless link 110(1), and nodes 104(3) and 104(4) may be communicativelycoupled to one another via a wireless link 110(2). Accordingly, system100 may constitute and/or represent all or a portion of a wirelessnetwork (e.g., a wireless mesh network). In such examples, controller102 may be communicatively coupled to one or more of nodes 104(1)-(4)and/or may perform one or more tasks and/or operations that supportand/or enable adaptive beamforming within the wireless network.

In some examples, controller 102 may coordinate, initiate, and/orperform a scan that measures interference 120 introduced by wirelesslink 110(2) into wireless link 110(1). In one example, the scancoordinated by controller 102 may involve collecting data, statistics,measurements, and/or information about interference 120 from one or moreof nodes 104(1)-(4). Accordingly, while certain portions of the scan maybe initiated and/or performed by controller 102, other portions of thescan may be initiated and/or performed by one or more of nodes104(1)-(4).

In one example, controller 102 may identify certain characteristics ofwireless link 110(1) and/or wireless link 110(2) based at least in parton the scan. In this example, wireless link 110(1) may be the victim ofinterference 120, and wireless link 110(2) may be the aggressor ofinterference 120. Examples of characteristics of wireless links 110(1)and 110(2) include, without limitation, an Interference-to-Noise Ratio(INR) for the victim or aggressor wireless link, a Signal-to-Noise Ratio(SNR) for the victim or aggressor wireless link, an angle of arrival forthe interference at a receiver node in the victim or aggressor wirelesslink, an angular direction of at least one sidelobe of a receive beamassociated with the receiver node in the victim or aggressor wirelesslink, a gain of a mainlobe of the receive beam associated with thereceiver node in the victim or aggressor wireless link, an angle ofdeparture for the interference at a transmitter node in the victim oraggressor wireless link, an angular direction of at least one sidelobeof a transmit beam associated with the transmitter node in the victim oraggressor wireless link, a gain of a mainlobe of the transmit beamassociated with the transmitter node in the victim or aggressor wirelesslink, combinations or variations of one or more of the same, and/or anyother suitable characteristics of such wireless links.

In some examples, controller 102 may determine whether any of nodes104(1)-(4) are eligible for a tapered codebook based at least in part onthe characteristics of wireless link 110(1) and/or wireless link 110(2).In one example, a node may be eligible for the tapered codebook if itscorresponding wireless link is able to sustain a certain amount ofsignal loss (e.g., approximately 2 decibels of total signal loss)without affecting connectivity and/or communication. For example, thetapered codebook may be configured, designed, and/or intended tomitigate and/or decrease the amount of interference introduced by thenode's antenna array. Specifically, the tapered codebook may cause thenode's antenna array to suppress its sidelobes by a certain amount(e.g., approximately 17 decibels) compared to a non-tapered codebook.This suppression of the antenna array's sidelobes may cause and/oreffectuate a decrease in the amount interference emitted by the antennaarray.

In some examples, a tradeoff of this decrease in interference may be acertain amount (e.g., 1 decibel) of signal loss from the mainlobe of thenode's antenna array. In one example, to sustain this amount of signalloss, the corresponding wireless link may need to be strong enough tosupport the continuation of connectivity and/or communication despitethe resulting signal loss in the mainlobe of the transmitter node'santenna array and/or the mainlobe of the receiver node's antenna array.In other words, to sustain this amount of signal loss, the receiver nodemay need to be positioned and/or located such that its receive beamextends to and/or within the range and/or reach of the transmit beamemitted by the corresponding transmitter node. For example, to beeligible for the tapered codebook, the receiver and transmitter nodesmay need to be positioned and/or located such that the transmit beamemitted by the transmitter node will still extend to and/or reach thereceive beam emitted by the receiver node despite a 2-decibel signalloss (e.g., a 1-decibel loss per beam).

In some examples, to achieve the suppression of antenna array'ssidelobes, the tapered codebook may modify one or more features of theantenna array. Examples of such features include, without limitation, anangular direction of at least one antenna tile included in an antennaarray, a beamformer associated with an antenna array, a phase shifterassociated with an antenna array, a gain controller associated with anantenna array, combinations or variations of one or more of the same,and/or any other suitable features of an antenna array.

In some examples, controller 102 may direct any or all of the eligiblenodes to implement and/or apply the tapered codebook in response todetermining that such nodes are eligible for the tapered codebook. Inone example, the tapered codebook and/or the non-tapered codebook may beinstalled and/or stored on nodes 104(1)-(4). In this example, controller102 may direct the eligible nodes to switch from the non-taperedcodebook, which is activated by default, to the tapered codebook. Inanother example, controller 102 may transmit the tapered codebook to theeligible nodes for implementation upon determining that such nodes areeligible for the tapered codebook.

In some examples, the tapered codebook may include and/or represent oneor more instructions that cause the implementing nodes to configuretheir antenna arrays in accordance with a certain antenna groupingscheme. In one example, this antenna grouping scheme may enable theantenna arrays to suppress at least one sidelobe of the antenna arraysby approximately 17 decibels. In this example, this antenna groupingscheme may have a side effect of decreasing the transmit or receive beamof the antenna arrays by approximately 2 decibels across thecorresponding wireless links. Additionally or alternatively, thisantenna grouping scheme may involve configuring and/or modifying theangular direction of one or more antenna tiles included in such antennaarrays.

FIG. 7 illustrates an exemplary antenna array 212 that includes variousantenna tiles 702(1)-(N), 704(1)-(N), 706(1)-(N), and 708(1)-(N). In oneexample, the tapered codebook may program and/or configure antenna array212 according to the antenna grouping scheme. In this example, as partof the antenna grouping scheme, antenna array 212 may arrange, aim,and/or modify one or more of antenna tiles 702(1)-(N), 704(1)-(N),706(1)-(N), and 708(1)-(N) in one way or another to achieve a certainobjective. Similarly, the non-tapered codebook may program and/orconfigure antenna array 212 according to a different antenna groupingscheme. In this example, as part of the different antenna groupingscheme, antenna array 212 may arrange, aim, and/or modify one or more ofantenna tiles 702(1)-(N), 704(1)-(N), 706(1)-(N), and 708(1)-(N) in oneway or another to achieve a different objective.

FIG. 2 illustrates an exemplary implementation 200 of controller 102 andnode 104(1). As illustrated in FIG. 2 , controller 102 may includeand/or represent a processing device 206(1), memory 208(1), acommunication system 214(1), and/or a codebook 218(1). Additionally oralternatively, node 104(1) may include and/or represent a processingdevice 206(2), memory 208(2), a communication system 214(2), a codebook218(2), an antenna array 212, and/or a feature 216. In some embodiments,controller 102 and/or node 104(1) may also include and/or represent oneor more additional devices, components, circuits, and/or features thatare not necessarily illustrated in FIG. 2 . Although FIG. 2 illustratesonly controller 102 and node 104(1), the other nodes illustrated in FIG.1 may include and/or represent any or all of the same devicescomponents, circuits, and/or features as node 104(1).

Processing devices 206(1) and 206(2) may each include and/or representany type or form of hardware-implemented processing device capable ofinterpreting and/or executing computer-readable instructions. In oneexample, processing devices 206(1) and 206(2) may access and/or modifycertain software modules, applications, and/or data stored in memory(e.g., memory 208(1) or 208(2)). In this example, processing devices206(1) and 206(2) may execute and/or launch one or more software modulesstored in memory to facilitate adaptive beamforming in wirelessnetworks. Examples of processing devices 206(1) and 206(2) include,without limitation, physical processors, central processing units(CPUs), microprocessors, microcontrollers, Field-Programmable GateArrays (FPGAs) that implement softcore processors, Application-SpecificIntegrated Circuits (ASICs), portions of one or more of the same,variations or combinations of one or more of the same, and/or any othersuitable processing devices.

Memories 208(1) and 208(2) may each include and/or represent any type orform of volatile or non-volatile storage device or medium capable ofstoring data, computer-readable instructions, software modules,applications, and/or operating systems. Examples of memories 208(1) and208(2) include, without limitation, Random Access Memory (RAM), ReadOnly Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-StateDrives (SSDs), optical disk drives, caches, variations or combinationsof one or more of the same, and/or any other suitable storage memorydevices. Although illustrated as separate devices in FIG. 2 , certainprocessing devices and memories may, in some embodiments, be consideredand/or viewed as a single device and/or unit.

Antenna array 212 may include and/or represent circuitry and/or antennaeconfigured to facilitate wireless communication and/or pairing. Forexample, antenna array 212 may enable node 104(1) to connect and/orcommunicate with node 104(2) via wireless link 110(1). In one example,antenna array 212 may include and/or represent multiple antenna tilesand/or elements combined and/or incorporated into a single unit. In thisexample, the single unit formed by antenna array 212 may constituteand/or represent a directional antenna system capable of beamformingand/or spatial filtering in connection with transmitting and/orreceiving communications. Additional examples of antenna array 212include, without limitation, Radio Frequency (RF) modules, WiFi modules,Bluetooth modules, portions of one or more of the same, variations orcombinations of one or more of the same, and/or any other suitablecommunication system.

Communication systems 214(1) and 214(2) may each include and/orrepresent circuitry, cabling, and/or antennae configured to facilitatecommunication and/or server-client relationships. For example,communication systems 214(1) and 214(2) may enable controller 102 toconnect and/or communicate with node 104(1). Additionally oralternatively, communication systems 214(1) may enable controller 102 toconnect and/or communicate with one or more of nodes 104(2)-(4). In someexamples, communication systems 214(1) and 214(2) may include and/orrepresent one or more communication ports, Ethernet cabling, fiber opticcabling, and/or wireless communication elements (e.g., antennae), amongother hardware features or components. Additional examples ofcommunication systems 214(1) and 214(2) include, without limitation,Radio Frequency (RF) modules, WiFi modules, portions of one or more ofthe same, variations or combinations of one or more of the same, and/orany other suitable communication systems.

Codebooks 218(1) and 218(2) may each include and/or represent a taperedcodebook and/or a non-tapered codebook. In some examples, codebooks218(1) and 218(2) may each include and/or represent one or moreinstructions that, when executed by a certain node, cause the node toconfigure its antenna array in accordance with a certain antennagrouping scheme. In one example, the antenna grouping scheme may enableantenna array 212 to suppress at least one of its sidelobes byapproximately 17 decibels. In this example, this antenna grouping schememay have a side effect of decreasing the transmit or receive beam ofantenna array 212 by approximately 2 decibels across the correspondingwireless link.

Feature 216 may include and/or represent one or more elements,components, configurations, and/or settings of antenna array 212. In oneexample, feature 216 may be integrated and/or incorporated into antennaarray 212. In another example, feature 216 may be external to, linkedto, and/or associated with antenna array 212. In this example, feature216 may affect and/or control the performance, direction, phase, and/orgain of antenna array 212. Examples of feature 216 include, withoutlimitation, the angular directions of antenna tiles included in antennaarray 212, beamformers associated with antenna array 212, phase shiftersassociated with antenna array 212, gain controllers associated withantenna array 212, combinations or variations of one or more of thesame, and/or any other suitable feature of antenna array 212.

FIG. 3 illustrates an exemplary system 300 capable of facilitatingadaptive beamforming in a wireless network. In some examples, system 300may include and/or represent a specific configuration and/or arrangementof nodes 104(1)-(4) illustrated in FIG. 1 . As illustrated in FIG. 3 ,system 300 may include and/or represent a transmitter node 304 and areceiver node 306 communicatively coupled via a victim link 310. Inaddition, system 300 may include and/or represent a transmitter node 314and a receiver node 316 communicatively coupled via an aggressor link312. In some embodiments, aggressor link 312 may emit and/or introduceinterference into victim link 310. Unfortunately, such interference maydegrade, impair, and/or obstruct the performance of individual victimlink 310 and/or the corresponding wireless network as a whole.

Some or all of the nodes in FIG. 3 may implement and/or apply anon-tapered codebook by default. For example, transmitter node 314 mayimplement a non-tapered codebook 318(1) that configures one or morefeatures of an antenna array 212(1) by default and/or upon bootup. Inthis example, non-tapered codebook 318(1) may cause transmitter node 314and/or antenna array 212(1) to beamform in a way that does not involvesuppressing the sidelobes by approximately 17 decibels.

In another example, receiver node 306 may implement a non-taperedcodebook 318(2) that configures one or more features of an antenna array212(2) by default and/or upon bootup. In this example, non-taperedcodebook 318(2) may cause receiver node 306 and/or antenna array 212(1)to beamform in a way that does not involve suppressing the sidelobes byapproximately 17 decibels. Accordingly, non-tapered codebooks 318(1) and318(2) may each constitute and/or represent a traditional configurationthat serves as a reference and/or baseline for the amount of sidelobesuppression achieved by a counterpart tapered codebook.

In some examples, the non-tapered codebook may not sacrifice the amountof signal loss in the mainlobe of the transmit or receive beam for theamount of signal suppression in the sidelobes of the transmit or receivebeam. In other words, the non-tapered codebook may avoid the gainsuppression and/or loss provided by the counterpart tapered codebook. Insuch examples, the amount of signal loss in the mainlobe of the transmitor receive beam may be much less than the amount of signal suppressionin the sidelobe of the transmit or receive beam. In one example, uponimplementation, the tapered codebook may cause the implementing node tosacrifice that amount of signal loss in the mainlobe of the transmit orreceive beam for the amount of signal suppression in the sidelobe of thetransmit or receive beam.

In some examples, controller 102 may identify, detect, and/or determinewhich links are aggressors and/or which links are victims with respectto interference. In one example, controller 102 may determine thataggressor link 312 is interfering with victim link 310 based at least inpart on the relative angles between link and/or lobe directions as wellas the known characteristics of the corresponding beamforming patterns.In this example, the majority of energy propagating from one node toanother through a wireless link may be contained within the mainlobe ofthe beamforming pattern. On the one hand, the smaller the angle betweenthe direction of aggressor link 312 and the direction of theinterference link, the greater the interference introduced fromaggressor link 312 to victim link 310 may be. On the other hand, thelarger the angle between the direction of aggressor link 312 and thedirection of the interference link, the smaller the interferenceintroduced from aggressor link 312 to victim link 310 may be.

In some examples, system 300 in FIG. 3 may demonstrate a configurationand/or arrangement in which the nodes are positioned and/or located suchthat an angle 340 forms between aggressor link 312 and interference 320.In one example, transmitter node 314 may generate and/or emit abeamforming pattern via antenna array 212(1). This beamforming patternmay include and/or represent a mainlobe 332 and/or sidelobes 330(1),330(2), 330(3), and 330(4). As illustrated in FIG. 3 , sidelobe 330(2)may be directed toward receiver node 306 and/or aligned withinterference 320. In this example, angle 340 between the directions ofinterference 320 and aggressor link 312 may be relatively large. As aresult, sidelobe 330(2) may be the primary contributor to interference320 among the beamforming pattern. Since the majority of the signalenergy is contained within mainlobe 332 of the beamforming pattern,angle 340 being relatively large may weaken interference 320 and thusimprove the performance of victim link 310 (compared to, e.g., angle 440in FIG. 4 ).

In some examples, controller 102 may know, identify, and/or discovervarious characteristics about the nodes and/or their correspondinglinks. For example, the nodes may be fixed and/or secured at specificlocations, and controller 102 may know, identify and/or discover suchlocations. Additionally or alternatively, the antenna arrays of thenodes may be oriented and/or aimed in specific directions, andcontroller 102 may know, identify and/or discover such locations.Accordingly, the nodes and/or their antenna arrays may have relativeangular relationships with one another, and controller 102 may know,identify, and/or discover such angular relationships and/or which nodesare wirelessly linked to one another via their antenna arrays.

In some examples, controller 102 may identify and/or determine which ofthe links is the aggressor and which of the links is the victim based atleast in part on interference measurements. For example, controller 102may determine that interference 320 and/or the corresponding INR isabove or below a certain threshold. In this example, the INR may includeand/or represent an estimate based on the aggressor node's maximumtransmit power and/or average transmit power.

In some examples, one or more devices included in system 300 may performInterference Measurement (IM) scans (sometimes referred to as beamscans) to measure interference introduced by the aggressor link into thevictim link. For example, controller 102 may coordinate IM scans acrossthe nodes in system 300 and/or the corresponding wireless mesh network.This coordination may involve selecting beamforming settings thatgenerate varying beamforming patterns. In one example, an IM scan mayinvolve sequentially switching through the different beamformingpatterns while transmitter node 314 is transmitting wireless signals toreceiver node 316 via aggressor link 312. In this example, the IM scanmay engage and/or activate each possible beamforming setting throughoutthe switching.

In some examples, controller 102 may coordinate wireless reception ofreceiving node 306 so that interference 320 caused by wireless signalstransmitted through each of the scanned beamforming settings oftransmitter node 314 node are measured. In one example, controller 102and/or receiver node 306 may measure interference 320 with or withouttransmitter node 304 transmitting wireless signals to receiver node 306.For example, receiver node 306 may measure an INR while transmitter node314 scans through a set of beams and transmitter node 314 is inactive.Additionally or alternatively, receiver node 306 may determine aSignal-to-Noise plus Interference Ratio (SINR) based at least in part onthe INR. In this example, controller 102 may coordinate transmission ofwireless signals by transmitter node 304 while transmitter node 314scans through the set of beams. In this case, the wireless signalsreceived from transmitter node 304 may represent the desired signals,and the wireless signals received from transmitter node 314 mayrepresent interference introduced into victim link 310.

In some examples, controller 102 may obtain and/or collect theinterference measurements (e.g., INR and/or SINR) corresponding to thedifferent beamforming settings of the scan from one or more of the nodesincluded in system 300. Additionally or alternatively, controller 102may obtain and/or collect additional information about the interferencemeasured across the different beamforming settings of the scan. Examplesof such information about the interference include, without limitation,angles of arrival for the interference at a receiver node in the victimor aggressor wireless link, angular directions of sidelobes in a receivebeam associated with the receiver node in the victim or aggressorwireless link, gains of a mainlobe of the receive beam associated withthe receiver node in the victim or aggressor wireless link, angles ofdeparture for the interference at a transmitter node in the victim oraggressor wireless link, angular directions of sidelobes of a transmitbeam associated with the transmitter node in the victim or aggressorwireless link, gains of a mainlobe of the transmit beam associated withthe transmitter node in the victim or aggressor wireless link,combinations or variations of one or more of the same, and/or any othersuitable information about the interference.

In one example, such measurements may represent and/or correspond to theamount of interference introduced from one link to another across thedifferent scan settings while those nodes are implementing non-taperedcodebook 318(1). In this example, controller 102 may determine whetherany or all of those nodes are eligible for a tapered codebook based atleast in part on the interference measurements and/or the correspondinginformation.

As a specific example, controller 102 may determine that receiver node316 is eligible for the tapered codebook by analyzing the measurementsand/or characteristics of interference 320. In this example, theanalysis may indicate that (1) aggressor link 312 that communicativelycouples transmitter node 314 and receiver node 316 together is strongenough to support a certain amount of signal loss (e.g., approximately 2decibels of signal loss), (2) the INR for victim link 310 is above acertain interference threshold, and (3) the angle of arrival forinterference 320 at receiver node 306 matches the angular direction ofthe sidelobe in the receive beam associated with receiver node 306.Accordingly, controller 102 may arrive at the determination thatreceiver node 316 is eligible for the tapered codebook due at least inpart to the analysis indicating those characteristics of interference320.

In one example, controller 102 may determine that aggressor link 312 isstrong enough to support the certain amount of loss by (1) identifyingthe gain of the mainlobe of the transmit beam associated withtransmitter node 314 and/or (2) determining or identifying the distancebetween transmitter node 314 and receiver node 316. In this example,controller 102 may determine that the gain of the mainlobe of thereceive beam associated with receiver node 316 and the gain of themainlobe of the transmit beam associated with transmitter node 314 arecollectively able to sustain the aggressor link 312 across that distancedespite the certain amount of signal loss that results from implementingthe tapered codebook. Put more simply, controller 102 may determine thatthe gain of the mainlobe of the receive beam associated with receivernode 316 and the gain of the mainlobe of the transmit beam associatedwith transmitter node 314 collectively reach and/or exceed a thresholdcapable of accommodating the certain amount of signal loss.

As an opposing example, controller 102 may determine that receiver node316 is not eligible for the tapered codebook by analyzing themeasurements and/or characteristics of interference 320. In thisexample, the analysis may indicate that (1) aggressor link 312 thatcommunicatively couples transmitter node 314 and receiver node 316together is not strong enough to support a certain amount of signal loss(e.g., approximately 2 decibels of signal loss), (2) the INR for victimlink 310 is not above a certain interference threshold, or (3) the angleof arrival for interference 320 at receiver node 306 does not match theangular direction of the sidelobe in the receive beam associated withreceiver node 306. Accordingly, controller 102 may arrive at thedetermination that receiver node 316 is not eligible for the taperedcodebook due at least in part to the analysis indicating thosecharacteristics of interference 320.

In one example, controller 102 may determine that the aggressor link 312is not strong enough to support the certain amount of loss by (1)identifying the gain of the mainlobe of the transmit beam associatedwith transmitter node 314 and/or (2) determining or identifying thedistance between transmitter node 314 and receiver node 316. In thisexample, controller 102 may determine that the gain of the mainlobe ofthe receive beam associated with receiver node 316 and the gain of themainlobe of the transmit beam associated with transmitter node 314 arecollectively unable to sustain the aggressor link 312 across thatdistance due to the certain amount of signal loss that results fromimplementing the tapered codebook. Put more simply, controller 102 maydetermine that the gain of the mainlobe of the receive beam associatedwith receiver node 316 and the gain of the mainlobe of the transmit beamassociated with transmitter node 314 fail to collectively reach and/orexceed a threshold capable of accommodating the certain amount of signalloss.

As another example, controller 102 may determine that transmitter node314 is eligible for the tapered codebook by analyzing the measurementsand/or characteristics of interference 320. In this example, theanalysis may indicate that (1) aggressor link 312 that communicativelycouples transmitter node 314 and receiver node 316 together is strongenough to support a certain amount of signal loss (e.g., approximately 2decibels of signal loss), (2) the INR for victim link 310 is above acertain interference threshold, and (3) the angle of departure forinterference 320 at transmitter node 314 matches the angular directionof sidelobe 330(2) in the transmit beam associated with transmitter node314. Accordingly, controller 102 may arrive at the determination thattransmitter node 314 is eligible for the tapered codebook due at leastin part to the analysis indicating those characteristics of interference320.

As another opposing example, controller 102 may determine thattransmitter node 314 is not eligible for the tapered codebook byanalyzing the measurements and/or characteristics of interference 320.In this example, the analysis may indicate that (1) aggressor link 312that communicatively couples transmitter node 314 and receiver node 316together is not strong enough to support a certain amount of signal loss(e.g., approximately 2 decibels of signal loss), (2) the INR for victimlink 310 is not above a certain interference threshold, (3) the angle ofdeparture for interference 320 at transmitter node 314 does not matchthe angular direction of sidelobe 330(2) in the transmit beam associatedwith transmitter node 314. Accordingly, controller 102 may arrive at thedetermination that transmitter node 314 is not eligible for the taperedcodebook due at least in part to the analysis indicating thosecharacteristics of interference 320.

In some examples, controller 102 may coordinate and/or perform IM scansin connection with several and/or all the wireless links thatcommunicatively couple the nodes within the wireless network. Forexample, controller 102 may coordinate and/or perform IM scans thatmeasure angles of arrival and/or angles of departure for interferencesignals in connection with aggressor link 312 and victim link 310. Inthis example, controller 102 may analyze interference 320 by applying anoffline prediction algorithm that heuristically predicts angulardirections and/or locations of sidelobes in transmit or receive beamsassociated with the nodes.

${\overset{\sim}{A}\left( {\phi,\gamma} \right)} = {{\sum_{k = {- \infty}}^{\infty}{\frac{\left( {- 1} \right)^{k}}{\left( {1 - {2\pi k/\Delta}} \right)}\frac{\sin\Delta/2}{\Delta/2}{\sum_{n = 0}^{N - 1}{\sum_{m = 0}^{M - 1}{e^{- j\alpha_{n,m}}e^{j({{n2\pi/\lambda d_{x}\sin{\phi\cos}\gamma} + {m2\pi/\lambda d_{y}\sin{\phi\sin}\gamma} - {{({2\pi k/\Delta})}\alpha_{n,m}}})}e^{- {j({2\pi k/\Delta})}\epsilon_{n,m}}\overset{\sim}{A}\alpha_{n,m}\phi_{0}\gamma_{0}\epsilon_{n,m}{\Delta\Delta}}}}}} = {{2\pi/2^{q}\alpha_{n,m}n2\pi/\lambda d_{x}\sin\phi_{0}\cos\gamma_{0}} + {m2\pi/\lambda d_{y}\sin\phi_{0}\sin\gamma_{0}}}}$

The location and/or position of sidelobes generated in the beamformingpattern may be determined, predicted, and/or simulated in a variety ofways. For example, controller 102 and/or one of the nodes included inthe wireless network may apply a formula and/or equation to determine,predict, and/or simulate the location or position of such sidelobes. Inthis example, the formula and/or equation may demonstrate and/orcharacterize the response gain of such sidelobes and/or the effect ofquantization. One such formula and/or equation may be represented as

${{\overset{\sim}{A}\left( {\phi,\gamma} \right)} = {{\sum_{k = {- \infty}}^{\infty}{\frac{\left( {- 1} \right)^{k}}{\left( {1 - {2\pi k/\Delta}} \right)}\frac{\sin\Delta/2}{\Delta/2}{\sum_{n = 0}^{N - 1}{\sum_{m = 0}^{M - 1}{e^{- j\alpha_{n,m}}e^{j({{n2\pi/\lambda d_{x}\sin{\phi\cos}\gamma} + {m2\pi/\lambda d_{y}\sin{\phi\sin}\gamma} - {{({2\pi k/\Delta})}\alpha_{n,m}}})}e^{- {j({2\pi k/\Delta})}\epsilon_{n,m}}\overset{\sim}{A}\alpha_{n,m}\phi_{0}\gamma_{0}\epsilon_{n,m}{\Delta\Delta}}}}}} = {{2\pi/2^{q}\alpha_{n,m}n2\pi/\lambda d_{x}\sin\phi_{0}\cos\gamma_{0}} + {m2\pi/\lambda d_{y}\sin\phi_{0}\sin\gamma_{0}}}}},$

where represents the quantization power and/or response gain, representsthe progressive steering angle with infinite resolution for the (n^(th),m^(th)) antenna element, represents the azimuth scan angle, representsthe elevation scan angle, represents the feedline delay for the (n^(th),m^(th)) antenna element, and represents the quantization interval orstep (e.g.,). Moreover, may be represented as.

In one example, when k=0, the quantization operation may have no effecton the response. As a result, the high-level sidelobes caused by thequantization operation may originate and/or derive from the parasiticarray responses (e.g., the replicas of k≠0). In this example, askincreases, the amplitude of the antenna array may attenuatesignificantly. For that reason, the first-order replicas (e.g., k=1 andk=−1) may be useful in predicting and/or estimating the locations ofhigh-level sidelobes.

${\phi = {\sin^{- 1}\left( {\frac{1}{\cos\overset{\sim}{\gamma}}\left( {\frac{i\lambda}{d_{x}} + {\left( {1 + \frac{2\pi}{\Delta}} \right)\sin\alpha_{0}}} \right)} \right)}},{i = 0},{\pm 1},{{\gamma{\overset{\sim}{A}\left( {\phi,\gamma} \right)}} = {{C{\sum_{n = 0}^{N - 1}{\sum_{m = 0}^{M - 1}{e^{j({{{h({n,m,\gamma})}\alpha} - {{h({n,m,\gamma_{0}})}\beta_{0}} -})}{h\left( {n,m,\gamma} \right)}}}}} = {{{n2\pi/\lambda d_{x}\cos\gamma} + {m2\pi/\lambda d_{y}\sin\gamma\alpha}} = {{\sin{{\phi\beta}_{0}\left( {1 + {2\pi/\Delta}} \right)}\sin\varphi_{0}\left( {2\pi/\Delta} \right)\epsilon_{n,m}{❘{\overset{\sim}{A}\left( {\phi,\gamma} \right)}_{k = 1}❘}} = {C\sqrt[2]{{2{NM}} + {2{\sum_{i < j}{\cos\left( {x_{i} - x_{j}} \right)}}}}}}}}}$

Accordingly, to predict and/or estimate the location of the first-orderparasitic sidelobe of an antenna array, controller 102 may modify and/orsimplify the above formula and/or equation to etc., for a given.Similarly, the response gain of the first-order parasitic sidelobe usingfeedline delay may be modified and/or simplified to, where, =, and

${\phi = {\sin^{- 1}\left( {\frac{1}{\cos\overset{\sim}{\gamma}}\left( {\frac{i\lambda}{d_{x}} + {\left( {1 + \frac{2\pi}{\Delta}} \right)\sin\alpha_{0}}} \right)} \right)}},{i = 0},{\pm 1},{{\gamma{\overset{\sim}{A}\left( {\phi,\gamma} \right)}} = {{C{\sum_{n = 0}^{N - 1}{\sum_{m = 0}^{M - 1}{e^{j({{{h({n,m,\gamma})}\alpha} - {{h({n,m,\gamma_{0}})}\beta_{0}} -})}{h\left( {n,m,\gamma} \right)}}}}} = {{{n2\pi/\lambda d_{x}\cos\gamma} + {m2\pi/\lambda d_{y}\sin\gamma\alpha}} = {{\sin{{\phi\beta}_{0}\left( {1 + {2\pi/\Delta}} \right)}\sin\varphi_{0}\left( {2\pi/\Delta} \right)\epsilon_{n,m}{❘{\overset{\sim}{A}\left( {\phi,\gamma} \right)}_{k = 1}❘}} = {{C\sqrt[2]{{2{NM}} + {2{\sum_{i < j}{\cos\left( {x_{i} - x_{j}} \right)}}}}}\operatorname{=.}}}}}}$

Further modification and/or simplification of this response gain formulamay yield.

${\phi = {\sin^{- 1}\left( {\frac{1}{\cos\overset{\sim}{\gamma}}\left( {\frac{i\lambda}{d_{x}} + {\left( {1 + \frac{2\pi}{\Delta}} \right)\sin\alpha_{0}}} \right)} \right)}},{i = 0},{\pm 1},{{\gamma{\overset{\sim}{A}\left( {\phi,\gamma} \right)}} = {{C{\sum_{n = 0}^{N - 1}{\sum_{m = 0}^{M - 1}{e^{j({{{h({n,m,\gamma})}\alpha} - {{h({n,m,\gamma_{0}})}\beta_{0}} -})}{h\left( {n,m,\gamma} \right)}}}}} = {{{n2\pi/\lambda d_{x}\cos\gamma} + {m2\pi/\lambda d_{y}\sin{\gamma\alpha}}} = {{\sin{{\phi\beta}_{0}\left( {1 + {2\pi/\Delta}} \right)}\sin\varphi_{0}\left( {2\pi/\Delta} \right)\epsilon_{n,m}{❘{\overset{\sim}{A}\left( {\phi,\gamma} \right)}_{k = 1}❘}} = {C\sqrt[2]{{2{NM}} + {2{\sum_{i < j}{\cos\left( {x_{i} - x_{j}} \right)}}}}}}}}}$

Unfortunately, in some examples, controller 102 may be unable toaccurately predict the location of the parasitic sidelobe using themaximum amplitude for the first-order array response (e.g., k=1). Onereason that controller 102 is unable to do so may be that the feedlinedelay causes a power spread such that no significant mainlobe occurs inthe first-order array response, which corresponds to the first-orderparasitic sidelobe. As a result, controller 102 may implement and/orapply a Monte Carlo simulation to evaluate the distribution of thesidelobes for a given antenna array. For example, controller 102 maygenerate 10,000 instances for each scan angle. In this example,controller 102 may randomly generate a feedline delay matrix for each ofthose 10,000 instances. The threshold for the corresponding sidelobesmay be represented as |amplitude(sidelobe)−maximum amplitude|<15decibels.

FIGS. 8, 9, and 10 illustrate exemplary graphs 800, 900, and 1000,respectively. As illustrated in FIG. 8 , exemplary graph 800 may showand/or highlight predicted sidelobes 802(1) and 802(2) relative tovarious interference measurements obtained by controller 102. In oneexample, graph 800 may plot those interference measurements based on thefrequencies of wireless signals versus the corresponding azimuth anglesof the antenna array. Controller 102 may estimate the locations ofpredicted sidelobes 802(1) and 802(2) based at least in part on thoseinterference measurements. In this example, graph 800 may indicateand/or demonstrate that predicted sidelobes 802(1) and 802(2) arelocated at approximately ±5 degrees relative to the azimuth angle andthe boresight of the antenna array may be located at approximately zerodegrees relative to the azimuth angle.

As illustrated in FIG. 9 , exemplary graph 900 may show and/or highlightpredicted sidelobes 902(1) and 902(2) relative to various interferencemeasurements obtained by controller 102. In one example, graph 900 mayplot those interference measurements based on the frequencies ofwireless signals versus the corresponding azimuth angles of the antennaarray. Controller 102 may estimate the locations of predicated sidelobes902(1) and 902(2) based at least in part on those interferencemeasurements. In this example, graph 900 may indicate and/or demonstratethat predicted sidelobes 902(1) and 902(2) are likely located atapproximately −5 and −15 degrees relative to the azimuth angle and theboresight of the antenna array may be located at approximately −10degrees relative to the azimuth angle.

As illustrated in FIG. 10 , exemplary graph 1000 may show and/orhighlight predicted sidelobes 1002(1) and 1002(2) relative to variousinterference measurements obtained by controller 102. In one example,graph 1000 may plot those interference measurements based on thefrequencies of wireless signals versus the corresponding azimuth anglesof the antenna array. Controller 102 may estimate the locations ofpredicated sidelobes 1002(1) and 1002(2) based at least in part on thoseinterference measurements. In this example, graph 1000 may indicateand/or demonstrate that predicted sidelobes 1002(1) and 1002(2) arelikely located at approximately −25 and −35 degrees relative to theazimuth angle and the boresight of the antenna array may be located atapproximately −30 degrees relative to the azimuth angle.

FIG. 4 illustrates an exemplary system 400 capable of facilitatingadaptive beamforming in a wireless network. In some examples, system 400may include and/or represent a specific configuration and/or arrangementof nodes 104(1)-(4) illustrated in FIG. 1 . As illustrated in FIG. 4 ,system 400 may include and/or represent transmitter node 304 andreceiver node 306 communicatively coupled via victim link 310. Inaddition, system 400 may include and/or represent a transmitter node 314and a receiver node 316 communicatively coupled via an aggressor link312.

In some examples, system 400 in FIG. 4 may demonstrate a configurationand/or arrangement in which the nodes are positioned and/or located suchthat an angle 440 forms between aggressor link 312 and interference 420.In one example, transmitter node 314 may generate and/or emit abeamforming pattern via antenna array 212(1). As illustrated in FIG. 4 ,mainlobe 332 may be directed toward receiver node 306 and/or maysomewhat overlap interference 420. In this example, angle 440 betweenthe directions of interference 420 and aggressor link 312 may berelatively small. As a result, mainlobe 332 may be the primarycontributor to interference 420 among the beamforming pattern. Since themajority of the signal energy is contained within mainlobe 332 of thebeamforming pattern, angle 440 being relatively small may strengthenand/or increase interference 420 and thus impair the performance ofvictim link 310 (compared to, e.g., angle 340 in FIG. 3 ).

In some examples, controller 102 may know, identify, and/or discovervarious characteristics about the nodes and/or their correspondinglinks. For example, the nodes may be fixed and/or secured at specificlocations, and controller 102 may know, identify, and/or discover suchlocations. Additionally or alternatively, the antenna arrays of thenodes may be oriented and/or aimed in specific directions, andcontroller 102 may know, identify and/or discover such locations.Accordingly, the nodes and/or their antenna arrays may have relativeangular relationships with one another, and controller 102 may know,identify, and/or discover such angular relationships and/or which nodesare wirelessly linked to one another via their antenna arrays.

In some examples, controller 102 may identify and/or determine which ofthe links is the aggressor and which of the links is the victim based atleast in part on interference measurements. For example, controller 102may determine that interference 420 and/or the corresponding INR isabove or below a certain threshold. In this example, the INR may includeand/or represent an estimate based on the aggressor node's maximumtransmit power and/or average transmit power.

In one example, such measurements may represent and/or correspond to theamount of interference introduced from one link to another across thedifferent scan settings while those nodes are implementing non-taperedcodebook 318(1). In this example, controller 102 may determine whetherany or all of those nodes are eligible for a tapered codebook based atleast in part on the interference measurements and/or the correspondinginformation.

As a specific example, controller 102 may determine that receiver node316 is eligible for the tapered codebook by analyzing the measurementsand/or characteristics of interference 420. In this example, theanalysis may indicate that (1) aggressor link 312 that communicativelycouples transmitter node 314 and receiver node 316 together is strongenough to support a certain amount of signal loss (e.g., approximately 2decibels of signal loss), (2) the INR for victim link 310 is above acertain interference threshold, and (3) the angle of arrival forinterference 420 at receiver node 306 matches the angular direction ofthe sidelobe in the receive beam associated with receiver node 306.Accordingly, controller 102 may arrive at the determination thatreceiver node 316 is eligible for the tapered codebook due at least inpart to the analysis indicating those characteristics of interference420.

In one example, controller 102 may determine that the aggressor link 312is strong enough to support the certain amount of loss by (1)identifying the gain of the mainlobe of the transmit beam associatedwith transmitter node 314 and/or (2) determining or identifying thedistance between transmitter node 314 and receiver node 316. In thisexample, controller 102 may determine that the gain of the mainlobe ofthe receive beam associated with receiver node 316 and the gain of themainlobe of the transmit beam associated with transmitter node 314 arecollectively able to sustain the aggressor link 312 across that distancedespite the certain amount of signal loss that results from implementingthe tapered codebook. Put more simply, controller 102 may determine thatthe gain of the mainlobe of the receive beam associated with receivernode 316 and the gain of the mainlobe of the transmit beam associatedwith transmitter node 314 collectively reach and/or exceed a thresholdcapable of accommodating the certain amount of signal loss.

FIG. 5 illustrates an exemplary system 500 capable of facilitatingadaptive beamforming in a wireless network. In some examples, system 500may include and/or represent a specific configuration and/or arrangementof nodes 104(1)-(4) illustrated in FIG. 1 . As illustrated in FIG. 5 ,system 500 may include and/or represent transmitter node 304 andreceiver node 306 communicatively coupled via a victim link 310. Inaddition, system 500 may include and/or represent a transmitter node 314and a receiver node 316 communicatively coupled via an aggressor link312.

Some or all of the nodes in FIG. 5 may implement and/or apply a taperedcodebook at the direction of controller 102. For example, afterdetermining that transmitter node 314 is eligible for a tapered codebook518(1), controller 102 may direct transmitter node 314 to switch fromnon-tapered codebook 318(1) to tapered codebook 518(1). In response tothis direction from controller 102, transmitter node 314 may implementand/or apply tapered codebook 518(1). In this example, tapered codebook518(1) may cause transmitter node 314 and/or antenna array 212(1) tobeamform in a way that suppresses the sidelobes by approximately 17decibels relative to non-tapered codebook 318(1). Accordingly, taperedcodebook 318(1) may constitute and/or represent a traditionalconfiguration that serves as a reference and/or baseline for the amountof sidelobe suppression achieved by a counterpart tapered codebook.

Additionally or alternatively, after determining that receiver node 306is eligible for a tapered codebook 518(2), controller 102 may directreceiver node 306 to switch from non-tapered codebook 318(2) to taperedcodebook 518(2). In response to this direction from controller 102,receiver node 306 may implement and/or apply tapered codebook 518(2). Inthis example, tapered codebook 518(2) may cause transmitter node 314and/or antenna array 212(1) to beamform in a way that suppresses thesidelobes by approximately 17 decibels relative to non-tapered codebook318(2).

In some examples, tapered codebooks 518(1) and 518(2) may sacrifice acertain amount of signal loss in the mainlobe of the transmit or receivebeam for a certain amount of signal suppression in the sidelobes of thetransmit or receive beam. Accordingly, upon implementation, taperedcodebooks 518(1) and 518(2) may each cause their respective node tosacrifice that amount of signal loss in the mainlobe of the transmit orreceive beam for the amount of signal suppression in the sidelobe of thetransmit or receive beam.

In some examples, controller 102 may analyze interference 520 introducedby aggressor link 312 into victim link 310 while the nodes areimplementing the tapered codebook. In one example, controller 102 maydetermine, based at least in part on the analysis of interference 520,that the SNR for aggressor link 312 that communicatively couplestransmitter node 314 and receiver node 316 is below a certain signalthreshold. In response to this determination, controller 102 may directreceiver node 316 to switch from the tapered codebook back to thenon-tapered codebook. Additionally or alternatively, controller 102 maydirect transmitter node 314 to switch from tapered codebook 518(1) backto non-tapered codebook 318(1).

FIG. 6 illustrates an exemplary system 600 capable of facilitatingadaptive beamforming in a wireless network. In some examples, system 600may include and/or represent a specific configuration and/or arrangementof nodes 104(1)-(4) illustrated in FIG. 1 . As illustrated in FIG. 6 ,system 600 may include and/or represent transmitter node 304 andreceiver node 306 communicatively coupled via victim link 310. Inaddition, system 600 may include and/or represent transmitter node 314and receiver node 316 communicatively coupled via aggressor link 312.

In some examples, controller 102 may analyze interference 620 introducedby aggressor link 312 into victim link 310 while the nodes areimplementing the tapered codebook. In one example, controller 102 maydetermine, based at least in part on the analysis of interference 620,that the SNR for aggressor link 312 that communicatively couplestransmitter node 314 and receiver node 316 is below a certain signalthreshold. In response to this determination, controller 102 may directreceiver node 316 to switch from the tapered codebook back to thenon-tapered codebook. Additionally or alternatively, controller 102 maydirect transmitter node 314 to switch from tapered codebook 518(1) backto non-tapered codebook 318(1).

FIG. 11 is a flow diagram of an exemplary method 1100 for adaptivebeamforming in wireless networks. Method 1100 may include the step ofcoordinating at least one scan that measures interference introducedinto at least one wireless link that communicatively couples a pluralityof nodes to one another within a network (1110). Step 1110 may beperformed in a variety of ways, including any of those described abovein connection with FIGS. 1-10 . For example, a controller within anetwork may coordinate one or more scans that measure interferenceintroduced into wireless links that communicatively couples a pluralityof nodes to one another within a network.

Method 1100 may also include the step of identifying one or morecharacteristics of the wireless link based at least in part on the scan(1120). Step 1120 may be performed in a variety of ways, including anyof those described above in connection with FIGS. 1-10 . For example,the controller may identify one or more characteristics of the wirelesslinks based at least in part on the scans.

Method 1100 may further include the step of determining, based at leastin part on the characteristics of the wireless link, that at least oneof the nodes is eligible for a tapered codebook that, when implemented,modifies at least one feature of an antenna array that supports thewireless link in connection with the node (1130). Step 1130 may beperformed in a variety of ways, including any of those described abovein connection with FIGS. 1-10 . For example, the controller maydetermine that some or all of the nodes are eligible for a taperedcodebook that, when implemented, modifies certain features of theirrespective antenna arrays. In this example, the controller may makeand/or arrive at this determination based at least in part on thecharacteristics of the wireless links.

Method 1100 may additionally include the step of directing the node toimplement the tapered codebook in response to determining that the nodeis eligible for the tapered codebook (1140). Step 1140 may be performedin a variety of ways, including any of those described above inconnection with FIGS. 1-10 . For example, the controller may direct thenodes to implement the tapered codebook in response to determining thatthose nodes are eligible for the tapered codebook.

Example Embodiments

Example 1: A system comprising a plurality of nodes communicativelycoupled to one another via at least one wireless link and a controllercommunicatively coupled to at least one of the nodes, wherein thecontroller (1) coordinates at least one scan that measures interferenceintroduced into the wireless link, (2) identifies, based at least inpart on the scan, one or more characteristics of the wireless link, (3)determines, based at least in part on the characteristics of thewireless link, that the node is eligible for a tapered codebook that,when implemented, modifies at least one feature of an antenna array thatsupports the wireless link in connection with the node, and then (4)directs the node to implement the tapered codebook.

Example 2: The system of Example 1, wherein the feature of the antennaarray comprises at least one of (1) an angular direction of at least oneantenna tile included in the antenna array, (2) a beamformer associatedwith the antenna array, (3) a phase shifter associated with the antennaarray, or (4) a gain controller associated with the antenna array.

Example 3: The system of either of Examples 1 and 2, wherein the taperedcodebook comprises one or more instructions that cause the node toconfigure the antenna array in accordance with a certain antennagrouping scheme.

Example 4: The system of any of Examples 1-3, wherein the certainantenna grouping scheme enables the antenna array to suppress at leastone sidelobe of the antenna array by approximately 17 decibels.

Example 5: The system of any of Examples 1-4, wherein thecharacteristics of the wireless link comprise at least one of (1) aninterference-to-noise ratio for the wireless link, (2) a signal-to-noiseratio for the wireless link, (3) an angle of arrival for theinterference at a receiver node included in the nodes, (4) an angulardirection of at least one sidelobe of a receive beam associated with thereceiver node included in the nodes, (5) a gain of a mainlobe of thereceive beam associated with the receiver node included in the nodes,(6) an angle of departure for the interference at a transmitter nodeincluded in the nodes, (7) an angular direction of at least one sidelobeof a transmit beam associated with the transmitter node included in thenodes, or a gain of a mainlobe of the transmit beam associated with thetransmitter node included in the nodes.

Example 6: The system of any of Examples 1-5, wherein (1) the wirelesslink comprises (A) a victim link that communicatively couples atransmitter node and a receiver node and (B) an aggressor link thatcommunicatively couples an additional transmitter node and an additionalreceiver node, (2) the node that implements the tapered codebookcomprises the additional receiver node communicatively coupled to theadditional transmitter node via the aggressor link, and (3) thecontroller (A) analyzes the interference and (B) determines, based atleast in part on the analysis of the interference, that (I) theaggressor link that communicatively couples the additional transmitternode and the additional receiver node is strong enough to support acertain amount of signal loss, (II) an interference-to-noise ratio forthe victim link is above a certain interference threshold, and (Ill) anangle of arrival for the interference at the receiver node matches anangular direction of a sidelobe of a receive beam associated with thereceiver node.

Example 7: The system of any of Examples 1-6, wherein, to determine thatthe aggressor link is strong enough to support the certain amount ofloss, the controller (1) identifies a gain of a mainlobe of a transmitbeam associated with the additional transmitter node, (2) identifies adistance between the additional transmitter node and the additionalreceiver node, and (3) determines that the gain of the mainlobe of thereceive beam associated with the additional receiver node and the gainof the mainlobe of the transmit beam associated with the additionaltransmitter node are able to sustain the aggressor link across thedistance despite the certain amount of signal loss.

Example 8: The system of any of Examples 1-7, wherein the certain amountof signal loss comprises a loss of approximately 2 decibels.

Example 9: The system of any of Examples 1-8, wherein the controller (1)determines, based at least in part on the analysis of the interference,that the signal-to-noise ratio for the aggressor link is below a certainsignal threshold and then, in response to determining that thesignal-to-noise ratio for the aggressor link is below the certain signalthreshold, (2) directs the additional receiver node to switch from thetapered codebook to a non-tapered codebook that, when implemented,undoes the modification made to the feature of the antenna array thatsupports the aggressor link in connection with the receiver node, and(3) directs the additional transmitter node communicatively coupled tothe additional receiver node via the aggressor link to implement thenon-tapered codebook.

Example 10: The system of any of Examples 1-9, wherein (1) the wirelesslink comprises a plurality of wireless links that communicatively couplethe nodes to one another within a network and (2) the controller (A)coordinates a plurality of scans that measure angles of arrival andangles of departure for interference signals in connection with thewireless links and (B) analyzes the interference by applying an offlineprediction algorithm that heuristically predicts angular directions ofsidelobes in transmit or receive beams associated with the nodes of thenetwork.

Example 11: The system of any of Examples 1-10, wherein the offlineprediction algorithm comprises a Monte Carlo algorithm.

Example 12: The system of any of Examples 1-11, wherein (1) the wirelesslink comprises (A) a victim link that communicatively couples atransmitter node and a receiver node and (B) an aggressor link thatcommunicatively couples an additional transmitter node and an additionalreceiver node, (2) the node that implements the tapered codebookcomprises the additional transmitter node communicatively coupled to theadditional receiver node via the aggressor link, and (3) the controller(A) analyzes the interference and (B) determines, based at least in parton the analysis of the interference, that (I) the aggressor link thatcommunicatively couples the additional transmitter node and theadditional receiver node is strong enough to support a certain amount ofsignal loss, (II) an interference-to-noise ratio for the victim link isabove a certain interference threshold, and (Ill) an angle of departurefor the interference at the additional transmitter node matches theangular direction of a sidelobe of a transmit beam associated with theadditional transmitter node.

Example 13: The system of any of Examples 1-12, wherein, to determinethat the aggressor link is strong enough to support the certain amountof loss, the controller (1) identifies a gain of a mainlobe of a receivebeam associated with the additional receiver node, (2) identifies adistance between the additional transmitter node and the additionalreceiver node, and (3) determines that the gain of the mainlobe of thereceive beam associated with the additional receiver node and the gainof the mainlobe of the transmit beam associated with the additionaltransmitter node are able to sustain the aggressor link across thedistance despite the certain amount of signal loss.

Example 14: The system of any of Examples 1-13, wherein the certainamount of signal loss comprises a loss of approximately 2 decibels.

Example 15: The system of any of Examples 1-14, wherein, prior toimplementing the tapered codebook, the node implements a non-taperedcodebook as a default configuration, wherein the non-tapered codebookdoes not sacrifice a certain amount of signal loss in a mainlobe of atransmit or receive beam for a certain amount of signal suppression in asidelobe of the transmit or receive beam, the certain amount of signalloss in the mainlobe being less than the certain amount of signalsuppression in the sidelobe.

Example 16: The smartwatch of any of Examples 1-15, wherein, uponimplementation, the tapered codebook causes the node to sacrifice thecertain amount of signal loss in the mainlobe of the transmit or receivebeam for the certain amount of signal suppression in the sidelobe of thetransmit or receive beam.

Example 17: A controller comprising (1) a communication system thatsupports communication with a plurality of nodes communicatively coupledto one another via at least one wireless link and (2) at least onephysical processor communicatively coupled to the communication system,wherein the physical processor (A) coordinates at least one scan thatmeasures interference introduced into the wireless link, (B) identifies,based at least in part on the scan, one or more characteristics of thewireless link, (C) determines, based at least in part on thecharacteristics of the wireless link, that at least one of the nodes iseligible for a tapered codebook that, when implemented, modifies atleast one feature of an antenna array that supports the wireless link inconnection with the node, and (D) directs the node to implement thetapered codebook.

Example 18: The controller of Example 17, wherein the feature of theantenna array comprises at least one of (1) an angular direction of atleast one antenna tile included in the antenna array, (2) a beamformerassociated with the antenna array, (3) a phase shifter associated withthe antenna array, or (4) a gain controller associated with the antennaarray.

Example 19: The controller of any of Examples 17 and 18, wherein thetapered codebook comprises one or more instructions that cause the nodeto configure the antenna array in accordance with a certain antennagrouping scheme.

Example 20: A method may comprise (1) coordinating at least one scanthat measures interference introduced into at least one wireless linkthat communicatively couples a plurality of nodes to one another withina network, (2) identifying, based at least in part on the scan, one ormore characteristics of the wireless link, (3) determining, based atleast in part on the characteristics of the wireless link, that at leastone of the nodes is eligible for a tapered codebook that, whenimplemented, modifies at least one feature of an antenna array thatsupports the wireless link in connection with the node, and in responseto determining that the node is eligible for the tapered codebook, (4)directing the node to implement the tapered codebook.

In some embodiments, the term “computer-readable medium” generallyrefers to any form of device, carrier, or medium capable of storing orcarrying computer-readable instructions. Examples of computer-readablemedia include, without limitation, transmission-type media, such ascarrier waves, and non-transitory-type media, such as magnetic-storagemedia (e.g., hard disk drives, tape drives, and floppy disks),optical-storage media (e.g., Compact Disks (CDs), Digital Video Disks(DVDs), and BLU-RAY disks), electronic-storage media (e.g., solid-statedrives and flash media), and other distribution systems.

In some embodiments, one or more objects (e.g., data associated withsensors, and/or activity information) of a computing system may beassociated with one or more privacy settings. These objects may bestored on or otherwise associated with any suitable computing system orapplication, such as, for example, a social-networking system, a clientsystem, a third-party system, a messaging application, a photo-sharingapplication, a biometric data acquisition application, anartificial-reality application, and/or any other suitable computingsystem or application.

Privacy settings (or “access settings”) for an object may be stored inany suitable manner; such as, for example, in association with theobject, in an index on an authorization server, in another suitablemanner, or any suitable combination thereof. A privacy setting for anobject may specify how the object (or particular information associatedwith the object) can be accessed, stored, or otherwise used (e.g.,viewed, shared, modified, copied, executed, surfaced, or identified)within an application (such as an artificial-reality application). Whenprivacy settings for an object allow a particular user or other entityto access that object, the object may be described as being “visible”with respect to that user or other entity. As an example, a user of anartificial-reality application may specify privacy settings for auser-profile page that identify a set of users that may access theartificial-reality application information on the user-profile page,thus excluding other users from accessing that information. As anotherexample, an artificial-reality application may store privacypolicies/guidelines. The privacy policies/guidelines may specify whatinformation of users may be accessible by which entities and/or by whichprocesses (e.g., internal research, advertising algorithms,machine-learning algorithms), thus ensuring only certain information ofthe user may be accessed by certain entities or processes.

In some embodiments, privacy settings for an object may specify a“blocked list” of users or other entities that should not be allowed toaccess certain information associated with the object. In some cases,the blocked list may include third-party entities. The blocked list mayspecify one or more users or entities for which an object is notvisible.

Privacy settings associated with an object may specify any suitablegranularity of permitted access or denial of access. As an example,access or denial of access may be specified for particular users (e.g.,only me, my roommates, my boss), users within a particulardegree-of-separation (e.g., friends, friends-of-friends), user groups(e.g., the gaming club, my family), user networks (e.g., employees ofparticular employers, students or alumni of particular university), allusers (“public”), no users (“private”), users of third-party systems,particular applications (e.g., third-party applications, externalwebsites), other suitable entities, or any suitable combination thereof.In some embodiments, different objects of the same type associated witha user may have different privacy settings. In addition, one or moredefault privacy settings may be set for each object of a particularobject-type.

The process parameters and sequence of the steps described and/orillustrated herein are given by way of example only and can be varied asdesired. For example, while the steps illustrated and/or describedherein may be shown or discussed in a particular order, these steps donot necessarily need to be performed in the order illustrated ordiscussed. The various exemplary methods described and/or illustratedherein may also omit one or more of the steps described or illustratedherein or include additional steps in addition to those disclosed.

The preceding description has been provided to enable others skilled inthe art to best utilize various aspects of the exemplary embodimentsdisclosed herein. This exemplary description is not intended to beexhaustive or to be limited to any precise form disclosed. Manymodifications and variations are possible without departing from thespirit and scope of the present disclosure. The embodiments disclosedherein should be considered in all respects illustrative and notrestrictive. Reference should be made to any claims appended hereto andtheir equivalents in determining the scope of the present disclosure.

Unless otherwise noted, the terms “connected to” and “coupled to” (andtheir derivatives), as used in the specification and/or claims, are tobe construed as permitting both direct and indirect (i.e., via otherelements or components) connection. In addition, the terms “a” or “an,”as used in the specification and/or claims, are to be construed asmeaning “at least one of.” Finally, for ease of use, the terms“including” and “having” (and their derivatives), as used in thespecification and/or claims, are interchangeable with and have the samemeaning as the word “comprising.”

What is claimed is:
 1. A system comprising: a plurality of nodescommunicatively coupled to one another via at least one wireless link;and a controller communicatively coupled to at least one of the nodesthat implements a non-tapered codebook as a default configuration,wherein the controller: coordinates at least one scan that measuresinterference introduced into the wireless link; identifies, based atleast in part on the scan, one or more characteristics of the wirelesslink; determines, based at least in part on the characteristics of thewireless link, that the node is eligible for a tapered codebook that,when implemented, modifies at least one feature of an antenna array thatsupports the wireless link in connection with the node; and directs thenode to implement the tapered codebook.
 2. The system of claim 1,wherein the feature of the antenna array comprises at least one of: anangular direction of at least one antenna tile included in the antennaarray; a beamformer associated with the antenna array; a phase shifterassociated with the antenna array; or a gain controller associated withthe antenna array.
 3. The system of claim 1, wherein the taperedcodebook comprises one or more instructions that cause the node toconfigure the antenna array in accordance with a certain antennagrouping scheme.
 4. The system of claim 3, wherein the certain antennagrouping scheme enables the antenna array to suppress at least onesidelobe of the antenna array by approximately 17 decibels.
 5. Thesystem of claim 1, wherein the characteristics of the wireless linkcomprise at least one of: an interference-to-noise ratio for thewireless link; a signal-to-noise ratio for the wireless link; an angleof arrival for the interference at a receiver node included in thenodes; an angular direction of at least one sidelobe of a receive beamassociated with the receiver node included in the nodes; a gain of amainlobe of the receive beam associated with the receiver node includedin the nodes; an angle of departure for the interference at atransmitter node included in the nodes; an angular direction of at leastone sidelobe of a transmit beam associated with the transmitter nodeincluded in the nodes; or a gain of a mainlobe of the transmit beamassociated with the transmitter node included in the nodes.
 6. Thesystem of claim 1, wherein: the wireless link comprises: a victim linkthat communicatively couples a transmitter node and a receiver node; andan aggressor link that communicatively couples an additional transmitternode and an additional receiver node; the node that implements thetapered codebook comprises the additional receiver node communicativelycoupled to the additional transmitter node via the aggressor link; andto determine that the additional receiver node is eligible for thetapered codebook, the controller: analyzes the interference; anddetermines, based at least in part on the analysis of the interference,that: the aggressor link that communicatively couples the additionaltransmitter node and the additional receiver node is strong enough tosupport a certain amount of signal loss; an interference-to-noise ratiofor the victim link is above a certain interference threshold; and anangle of arrival for the interference at the receiver node matches anangular direction of a sidelobe of a receive beam associated with thereceiver node.
 7. The system of claim 6, wherein, to determine that theaggressor link is strong enough to support the certain amount of signalloss, the controller: identifies a gain of a mainlobe of a transmit beamassociated with the additional transmitter node; identifies a distancebetween the additional transmitter node and the additional receivernode; and determines that the gain of the mainlobe of the receive beamassociated with the additional receiver node and the gain of themainlobe of the transmit beam associated with the additional transmitternode are able to sustain the aggressor link across the distance despitethe certain amount of signal loss.
 8. The system of claim 7, wherein thecertain amount of signal loss comprises a loss of approximately 2decibels.
 9. The system of claim 6, wherein the controller: determines,based at least in part on the analysis of the interference, that asignal-to-noise ratio for the aggressor link is below a certain signalthreshold; and in response to determining that the signal-to-noise ratiofor the aggressor link is below the certain signal threshold: directsthe additional receiver node to switch from the tapered codebook to anon-tapered codebook that, when implemented, undoes the modificationmade to the feature of the antenna array that supports the aggressorlink in connection with the receiver node; and directs the additionaltransmitter node communicatively coupled to the additional receiver nodevia the aggressor link to implement the non-tapered codebook.
 10. Thesystem of claim 1, wherein: the wireless link comprises a plurality ofwireless links that communicatively couple the nodes to one anotherwithin a network; and the controller: coordinates a plurality of scansthat measure angles of arrival and angles of departure for interferencesignals in connection with the wireless links; and analyzes theinterference signals by applying an offline prediction algorithm thatheuristically predicts angular directions of sidelobes in transmit orreceive beams associated with the nodes of the network.
 11. The systemof claim 10, wherein the offline prediction algorithm comprises a MonteCarlo algorithm.
 12. The system of claim 1, wherein: the wireless linkcomprises: a victim link that communicatively couples a transmitter nodeand a receiver node; and an aggressor link that communicatively couplesan additional transmitter node and an additional receiver node; the nodethat implements the tapered codebook comprises the additionaltransmitter node communicatively coupled to the additional receiver nodevia the aggressor link; and to determine that the additional transmitternode is eligible for the tapered codebook, the controller: analyzes theinterference; and determines, based at least in part on the analysis ofthe interference, that: the aggressor link that communicatively couplesthe additional transmitter node and the additional receiver node isstrong enough to support a certain amount of signal loss; aninterference-to-noise ratio for the victim link is above a certaininterference threshold; and an angle of departure for the interferenceat the additional transmitter node matches an angular direction of asidelobe of a transmit beam associated with the additional transmitternode.
 13. The system of claim 12, wherein, to determine that theaggressor link is strong enough to support the certain amount of signalloss, the controller: identifies a gain of a mainlobe of a receive beamassociated with the additional receiver node; identifies a distancebetween the additional transmitter node and the additional receivernode; and determines that the gain of the mainlobe of the receive beamassociated with the additional receiver node and the gain of themainlobe of the transmit beam associated with the additional transmitternode are able to sustain the aggressor link across the distance despitethe certain amount of signal loss.
 14. The system of claim 13, whereinthe certain amount of signal loss comprises a loss of approximately 2decibels.
 15. The system of claim 1, wherein the non-tapered codebookdoes not sacrifice a certain amount of signal loss in a mainlobe of atransmit or receive beam for a certain amount of signal suppression in asidelobe of the transmit or receive beam, the certain amount of signalloss in the mainlobe being less than the certain amount of signalsuppression in the sidelobe.
 16. The system of claim 15, wherein, uponimplementation, the tapered codebook causes the node to sacrifice thecertain amount of signal loss in the mainlobe of the transmit or receivebeam for the certain amount of signal suppression in the sidelobe of thetransmit or receive beam.
 17. A controller comprising: a communicationsystem that supports communication with a plurality of nodescommunicatively coupled to one another via at least one wireless link,wherein at least one of the nodes implements a non-tapered codebook as adefault configuration; and at least one physical processorcommunicatively coupled to the communication system, wherein thephysical processor: coordinates at least one scan that measuresinterference introduced into the wireless link; identifies, based atleast in part on the scan, one or more characteristics of the wirelesslink; determines, based at least in part on the characteristics of thewireless link, that the node is eligible for a tapered codebook that,when implemented, modifies at least one feature of an antenna array thatsupports the wireless link in connection with the node; and directs thenode to implement the tapered codebook.
 18. The controller of claim 17,wherein the feature of the antenna array comprises at least one of: anangular direction of at least one antenna tile included in the antennaarray; a beamformer associated with the antenna array; a phase shifterassociated with the antenna array; or a gain controller associated withthe antenna array.
 19. The controller of claim 17, wherein the taperedcodebook comprises one or more instructions that cause the node toconfigure the antenna array in accordance with a certain antennagrouping scheme.
 20. A method comprising: coordinating at least one scanthat measures interference introduced into at least one wireless linkthat communicatively couples a plurality of nodes to one another withina network, wherein at least one of the nodes implements a non-taperedcodebook as a default configuration; identifying, based at least in parton the scan, one or more characteristics of the wireless link;determining, based at least in part on the characteristics of thewireless link, that the node is eligible for a tapered codebook that,when implemented, modifies at least one feature of an antenna array thatsupports the wireless link in connection with the node; and in responseto determining that the node is eligible for the tapered codebook,directing the node to implement the tapered codebook.